/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Fuente;

/**
 *
 * @author alex
 */
public class Casilla {
    // ------------------------------------------------------------------------

    private boolean blancoHabilitado,negroHabilitado;

    public int fila;
   

    public static short ATACANTE         = -1;
    public static short EQUILIBRSITA        = 1;
    public static short TRANSPARENTE        = 0;
   

    private short   colorFicha;

// ------------------------------------------------------------------------

    /** Constructores ****************************************************/
    public Casilla(){
        this.colorFicha = Casilla.TRANSPARENTE;

        this.blancoHabilitado   = false;
        this.negroHabilitado    = false;
    }

    public Casilla(int fila){
      this.fila = fila;
     
      this.colorFicha = Casilla.TRANSPARENTE;

      this.blancoHabilitado   = false;
      this.negroHabilitado    = false;
    }
    /*********************************************************************/


    public void deshabilitar(){
        this.colorFicha         = Casilla.TRANSPARENTE;
        this.blancoHabilitado   = false;
        this.negroHabilitado    = false;
    }

 

    public boolean  fichaBlancaHabilitada(){
        return( this.blancoHabilitado );
    }



    public boolean fichaNegraHabilitada(){
        return( this.fichaNegraHabilitada() );
    }


    public boolean estaHabilitada(){
        return( this.fichaBlancaHabilitada() || this.fichaNegraHabilitada() );
    }


    public boolean esNegra(){

        if( this.colorFicha == Casilla.ATACANTE )
            return( true );
        else
            return( false );
    }


    public boolean esBlanca(){
        if( this.colorFicha == Casilla.EQUILIBRSITA )
            return( true );
        else
            return( false );
    }


    public boolean estaVacia(){
        if( this.colorFicha == Casilla.TRANSPARENTE )
            return( true );
        else
            return( false );
    }


    public void asignarFichaBlanca(){        
        this.deshabilitar();
        this.colorFicha = Casilla.EQUILIBRSITA;
    }


    public void asignarFichaNegra(){        
        this.deshabilitar();
        this.colorFicha = Casilla.ATACANTE;
    }



    public short obtenerColorFicha(){
    // ----------------------------------------------------------------------
    // ----------------------------------------------------------------------

        return( this.colorFicha );
    }


    public boolean tieneElMismoColorDe( Casilla otraCasilla ){

        if( this.colorFicha == otraCasilla.obtenerColorFicha() )
            return( true );
        else
            return( false );
    }


 
    public void voltear(){
        if( this.colorFicha == Casilla.EQUILIBRSITA )
            this.colorFicha = Casilla.ATACANTE;
        else
            this.colorFicha = Casilla.EQUILIBRSITA;
    }

    public Casilla copiarCasilla() {
        Casilla casillanueva=new Casilla(this.fila);
        if(obtenerColorFicha() == EQUILIBRSITA)
            casillanueva.asignarFichaBlanca();
        else if(obtenerColorFicha() == ATACANTE)
            casillanueva.asignarFichaNegra();

        return casillanueva;

    }

   
    
}
